//对于axios进行二次封装
import axios from "axios";
//引入store获取uuid数据
import store from '../store/vuex'

//引入进度条
import nProgress from "nprogress";
import 'nprogress/nprogress.css'

// 用axios的create，创建一个axios的实例
//request就是axios，只不过要配置
const requests=axios.create({
    //基础路径，发送请求时，路径中将会出现api
    baseURL:'/api',
    timeout:5000,
});

//请求拦截器
requests.interceptors.request.use((config)=>{
    //通过请求头传输数据过去
    if(store.state.detail.uuid_token){
        //向请求头添加一个userTempId字段
    config.headers.userTempId=store.state.detail.uuid_token
    }
    if(store.state.user.token){
    config.headers.token=store.state.user.token
    }

    nProgress.start();
    return config
})
//响应拦截器
requests.interceptors.response.use((res)=>{
    nProgress.done()
    return res.data
},(err)=>{
    return Promise.reject(new Error('faile'))
})

export default requests;   